pub fn dp_rec_mc(amount: u32) -> u32 {
    let coins = [1, 2, 5, 10, 20, 30, 50, 100];
        let mut dp = vec![amount + 1; amount as usize + 1]; // 初始化为一个较大的值
        dp[0] = 0;

        for i in 1..=amount {
            for &coin in &coins {
                if i >= coin {
                    dp[i as usize] = dp[i as usize].min(dp[(i - coin) as usize] + 1);
                }
            }
        }

        dp[amount as usize]
}
